package jeme.lang;

/**
 * The base class from which all other Scheme classes are derived.
 * 
 * @author Erik Silkensen (silkense@colorado.edu)
 * @version Mar 20, 2009
 */
public class SchemeObject 
{
    /**
     * Returned from procedures that have no specified return value.
     */
    public static final SchemeObject UNSPECIFIED = new SchemeObject();
    
    /**
     * Returns a string representation of this object for displaying. This is
     * the same as <code>toString()</code> by default.
     * 
     * @return  a string representation of this object
     */
    public String toDisplayString()
    {
        return toString();
    }
    
    /**
     * Returns a string representation of this object. 
     */
    public String toString() 
    {
        return "Unspecified return value";
    }
}
